using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("TavernBrawlMission")]
	public class TavernBrawlMission : MonoClass
	{
		public bool canCreateDeck => method_2<bool>("canCreateDeck");

		public bool canEditDeck => method_2<bool>("canEditDeck");

		public bool canSelectHeroForDeck => method_2<bool>("canSelectHeroForDeck");

		public DeckRuleset deckRuleset => method_3<DeckRuleset>("deckRuleset");

		public CharacterDialogSequence m_firstTimeSeenCharacterDialogSequence => method_3<CharacterDialogSequence>("m_firstTimeSeenCharacterDialogSequence");

		public int seasonId => method_11<int>("get_seasonId", Array.Empty<object>());

		public int missionId => method_11<int>("get_missionId", Array.Empty<object>());

		public int ticketType => method_11<int>("get_ticketType", Array.Empty<object>());

		public long RewardData1 => method_11<long>("get_RewardData1", Array.Empty<object>());

		public long RewardData2 => method_11<long>("get_RewardData2", Array.Empty<object>());

		public int RewardTriggerQuota => method_11<int>("get_RewardTriggerQuota", Array.Empty<object>());

		public int maxWins => method_11<int>("get_maxWins", Array.Empty<object>());

		public int maxLosses => method_11<int>("get_maxLosses", Array.Empty<object>());

		public int maxSessions => method_11<int>("get_maxSessions", Array.Empty<object>());

		public int SeasonEndSecondsSpreadCount => method_11<int>("get_SeasonEndSecondsSpreadCount", Array.Empty<object>());

		public bool friendlyChallengeDisabled => method_11<bool>("get_friendlyChallengeDisabled", Array.Empty<object>());

		public bool IsSessionBased => method_11<bool>("get_IsSessionBased", Array.Empty<object>());

		public BrawlType BrawlType => method_11<BrawlType>("get_BrawlType", Array.Empty<object>());

		public int FirstTimeSeenCharacterDialogID => method_11<int>("get_FirstTimeSeenCharacterDialogID", Array.Empty<object>());
		public bool IsDungeonRun => method_11<bool>("get_IsDungeonRun", Array.Empty<object>());

		public CharacterDialogSequence FirstTimeSeenCharacterDialogSequence => method_14<CharacterDialogSequence>("get_FirstTimeSeenCharacterDialogSequence", Array.Empty<object>());

		public GameType GameType => method_11<GameType>("get_GameType", Array.Empty<object>());

		public TavernBrawlMission(IntPtr address, string className)
			: base(address, className)
		{
		}

		public TavernBrawlMission(IntPtr address)
			: this(address, "TavernBrawlMission")
		{
		}

		public static GameType GetGameType(BrawlType brawlType, int scenarioId, bool isFriendlyChallenge)
		{
			return MonoClass.smethod_14<GameType>(TritonHs.MainAssemblyPath, "", "TavernBrawlMission", "GetGameType", new object[3] { brawlType, scenarioId, isFriendlyChallenge });
		}
	}
}
